#if UNITY_EDITOR
using System;
using System.Collections.Generic;
using UnityEngine;

namespace Ease.EaseNode.Runtime
{
    public interface IEaseNodeInfo1
    {
        //
        public string Key { get; set; }

        //前置s
        public List<PortConfig> InputConfigs { get; }

        //后置
        public List<PortConfig> OutputConfigs { get; }

        //
        public List<PortInfo> InputInfos { get; }

        //后置ids[Port.name,List<IEaseNodeData.Key>]
        public List<PortInfo> OutputInfos { get;  }

        public void AddInputInfos(string key, string value);
        public void RemoveInputInfos(string key, string value);
        public void AddOutputInfos(string key, string value);
        public void RemoveOutputInfos(string key, string value);

        //位置
        public Vector2 NodePos { get; set; } //GraphView使用
    }

    public interface IEaseNodeInfo : IEaseNodeInfo1
    {
        public event Action OnInit;

        public event Action OnChange;
    }
}
#endif